// ********************************************************************************
// Custom Scripts
// ********************************************************************************

function possuiValorAlterado(idFormulario, prefixoCampoValidacao) {
    var totalDeComponentes = document.getElementById(idFormulario).elements.length;
    
    for(var i=0; i<totalDeComponentes; i++) {
        var componente = document.getElementById(idFormulario).elements[i];
        switch(componente.type) {                                    
                case 'text':
                case 'textarea':
                case 'password':
                case 'file':
                case 'hidden':
                        if (componente.value != componente.defaultValue && componente.id.indexOf(prefixoCampoValidacao) != -1) {
                             if(componente.value != "") {
                            	 return true;
                             }
                        }
                        break;

                case 'checkbox' :
                case 'radio' :
                        if (componente.checked != componente.defaultChecked && componente.id.indexOf(prefixoCampoValidacao) != -1) {
                            if(componente.value != "") {
                            	return true;                 
                            }
                        }

                        break;
                
                case 'select-one' :
                case 'select-multiple':
	                	if (componente.id.indexOf(prefixoCampoValidacao) != -1) {
	                		for (var j = 0; j < componente.options.length; j++) {
		                        if (componente.options[j].selected != componente.options[j].defaultSelected) {
		                        	return true;
		                        }
		                     }
	                	}

	                    break;                   
        }
    }
    
    return false;
}

function confirmarVoltar(idFormulario, msgVoltar, prefixoCampoValidacao) {
	if (possuiValorAlterado(idFormulario, prefixoCampoValidacao)) {
		return confirm(msgVoltar);
	}
	
	return false;
}

function validarAlteracao(idFormulario, msgVoltar, prefixoCampoValidacao, idCampoFlagAlteracao) {
	validacao = false;
	if (possuiValorAlterado(idFormulario, prefixoCampoValidacao)) {
		validacao = confirm(msgVoltar);
	}
	document.getElementById(idFormulario + ':' + idCampoFlagAlteracao).value = validacao;
}

function validarAlteracaoConfirm(idFormulario, prefixoCampoValidacao, componenteConfirmDialog, idCampoFlagAlteracao) {
	validacao = false;
	if (possuiValorAlterado(idFormulario, prefixoCampoValidacao)) {
		validacao = true;
		confirmDialog = eval(componenteConfirmDialog);
		confirmDialog.show();
	}
	document.getElementById(idFormulario + ':' + idCampoFlagAlteracao).value = validacao;
	
}

function validarMudancaAccordionFormulario(idFormulario, prefixoCampoValidacao, componenteConfirmDialog) {

	camposAlterados = possuiValorAlterado(idFormulario, prefixoCampoValidacao);

	if (camposAlterados) {
		confirmDialog = eval(componenteConfirmDialog);
		confirmDialog.show();
	}
}